package com.bot.nft.module.dc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bot.nft.module.dc.domain.DcFlowLog;
import com.bot.nft.module.dc.domain.bo.DcFlowLogBo;
import com.bot.nft.module.dc.domain.vo.CertFlowVo;
import com.bot.nft.module.dc.domain.vo.DcFlowLogVo;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author RenXiaoZheng
 * @since 2024-01-24
 */
public interface IDcFlowLogService extends IService<DcFlowLog> {

    /**
     * 查询藏品流转信息
     *
     * @param pageNo   当前第几页
     * @param pageSize 每页显示多少条数据
     * @return PageInfo<DcFlowLogBo *> 分页信息和藏品流转信息集合
     */
    Page<DcFlowLogVo> queryDcFlowLog(String inPhone, String outPhone, String name, Integer pageNo, Integer pageSize);

    /**
     * 查看藏品流转记录信息
     *
     * @param id 藏品流传记录信息标识
     * @return DcFlowLogBo 藏品流转信息，包含藏品名称、藏品流转时间等属性
     */
    List<DcFlowLogVo> getDcFlowLog(String id);

    /**
     * 通过藏品证书标识查看藏品证书流转记录信息
     *
     * @param certId 藏品证书标识
     * @return DcFlowLogVo集合 藏品流转信息，包含藏品名称、藏品流转时间等属性
     */
    List<CertFlowVo> getFlowLogByCertId(String certId);

    /**
     * 添加藏品流转记录
     *
     * @param dcFlowLogBo
     * @return
     */
    Boolean addFlowLog(DcFlowLogBo dcFlowLogBo);


}
